
#include <REGX51.H>
#include <intrins.h>
//#include "delay.h"

#define uint_8 unsigned  char 
#define uint_32 unsigned int 

int tab[]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80}; //定义数组，方便查表操作

void Delay1000ms(void)	//@11.0592MHz  1000ms延时
{
	unsigned char data i, j, k;

	_nop_();
	_nop_();
	i = 43;
	j = 6;
	k = 203;
	do
	{
		do
		{
			while (--k);
		} while (--j);
	} while (--i);
}

//void main()
//{
/*
//	uint_8 i;
////	delay(5000);
//	while(1)
//	{
//		for(i=0;i<8;i++)//利用左右移动指令制作流水灯
//		{
//			P1=_crol_(0x01,i);
//			Delay1000ms();//调用延时函数
//		}
//		for(i=1;i<7;i++)
//		{
//			P1=_cror_(0x80,i);
//			Delay1000ms();
//		}
//		for(i=0;i<8;i++)//利用查表操作制作流水灯
//		{
//			P1=tab[i];
//			Delay1000ms();
//		}
//		for(i=7;i>=0;i--)
//		{
//			P1=tab[i];
//			Delay1000ms();
//		}
//	}
*/
/*int i,LED[]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80};
	while(1)
	{
		if(P3_5==0)
		{
			while(P3_5==0);
			i++;
			if(i>8)
			{
				i=1;
			}
		}
		P1=LED[i];
	}
	*/
	
	/*
	int i=0;
	while(1)
	{
		if(P3_5==0)
		{
			while(P3_5==0);
			P1=0x01<<i;
			i++;
			if(i==8)
			{
				i=0;
			}
		}
	}
	*/
//}	


/*                       --许胜斐
void Timer0Init()
{
	TMOD = 0x01; 		//选择T0定时/计数器，工作在方式1，16位计数器		
	TH0 = 0xFC;	        //计数初始值，计数从64536开始，计1000个数，完成一次计数，时间为1ms
	TL0 = 0x18;		    //65536-1000/256；（65536-1000）%256-->数制知识
	ET0 = 1;			//定时/计数器0中断允许位
	EA = 1;				//总中断开启
}
int i=0,count;


void main()
{
	Timer0Init();
	while(1)
	{
		if(P3_5==0)
		{
			while(P3_5==0);
			if(i==0)
				TR0=1;
				i++;
			
		}
  }
}

void Timer0() interrupt 1
{
	count++;
	if(count==10000)
	{
		switch(i)
		{
			case 1:P1=0x01;break;
			case 2:P1=0x02;break;
			case 3:P1=0x04;break;
			case 4:P1=0x08;break;
			case 5:P1=0x10;break;
			case 6:P1=0x20;break;
			case 7:P1=0x40;break;
			case 8:P1=0x80;break;
		}
		i=0;
		count=0;
		TR0=0;
  }
	TH0 = 0xFC;	        
	TL0 = 0x18;
  TR0=1;
}
*/